Source code in a high-level programming language is compiled to produce object code. The object code is linked to one or more libraries to produce machine code or executable code. The machine code is executed on a data processing system to perform the operations programmed in the source code.
An optimizing compiler (OC) is a compiler that can optimize the object code so that the corresponding machine code executes with a desired level of efficiency. A compiler can optimize different portions of the object code differently. For example, if a portion of a given source code is called above a threshold number of times, a compiler might make the corresponding portion of the object code more efficient as compared to the object code portion that corresponds to another portion of the source code that is called below the threshold number of times.
A compiler is software. Software as a Service (SaaS) model is a model for making software available for use in the form of a service over a data network. In a SaaS model, the capability of the compiler is provided to a user by executing the compiler in a cloud infrastructure as needed by the user. The user can access the compiler from a variety of client devices through a thin client interface such as a web browser or another light-weight interface. The user does not manage or control the underlying cloud infrastructure including the network, servers, operating systems, or storage. The user configures the compiler for compiling the user-provided source code. An optimizing compiler can be similarly provided as a Service—optimizing compiler as a service (OCaaS).